/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

   function slice(el)
    {     //изменяем состояние указателя раскрывающегося дерева
          if (!el.stat){
             el.stat=0
          }
          if (el.stat==0)
          {
              el.style.backgroundPosition="0 -13px";
              el.stat=1;
              getTree_by_Ajax(el);
          }
          else
          {
              el.style.backgroundPosition="0 0px";
              el.stat=0;
              action_by_tree(null,el,1);
          }
    }
    function getTree_by_Ajax(el){
        doCompletion(el);
    }

    function initRequest() {
       if (window.XMLHttpRequest) {
           return new XMLHttpRequest();
       } else if (window.ActiveXObject) {
           isIE = true;
           return new ActiveXObject("Microsoft.XMLHTTP");
       }
   }

   function doCompletion(el) {
           dir=el.id;
           var url = "http://localhost:8080/FreeMarkerServlet/ElementOfTree?act=getTree&pos="+dir;
           var req = initRequest();
           var a=new Array();
           req.onreadystatechange = function() {
               if (req.readyState == 4) {
                   if (getNameBrouser()=="msie"){
                       JSON=function(){}; //Объекта JSON в IE нет! Потому делаем свой парсер для Internet Explorer
                       JSON.parse=function(str){
                          var res = eval('('+str+')');
                          return res;
                       }
                   }
                   a = JSON.parse(req.responseText);
                   action_by_tree(a,el,0);
                 }
           };
           req.open("GET", url, true);
           req.send(null);
   }
  
   
 function action_by_tree(json,el,action){
        var s=el;
        if (action==0){
            var elem=document.createElement("tr"); // новая строка
            var td0=document.createElement("td");  // пустая ячейка
            var td1=document.createElement("td");  // ячейка с субкаталогом
            elem.appendChild(td0);
            td1.innerText = json.content.name;
            elem.appendChild(td1);
            elem.id=json.content.name;
            tbody=s.parentElement.parentElement.parentElement;
            tbody.insertBefore(elem,s.parentElement.parentElement.nextSibling);
        }
        else if (action==1){
            var tr = new Array();
            tr=el.getElementsByTagName("tr");
            alert(tr.length);
            for (i=0;i<tr.length;i++){
                tr[i].parentElement.removeChild(tr[i]);
            }
        }

 }
 function getNameBrouser() {
    var ua = navigator.userAgent.toLowerCase();
    if (ua.indexOf("msie") != -1 && ua.indexOf("opera") == -1 && ua.indexOf("webtv") == -1) {
        return "msie"
    }
 }
 
 